#!/bin/tcsh
#
#  This script runs NWChem on mnemosyne
#
module load mpich
module load nwchem/6.5
#
setenv NWCHEM_PROCS 8
setenv NWCHEM_MEMORY "1200 mb"
setenv NWCHEM_SCRATCH /home/mark/nwchem/scratch
#
set procid=`echo $$`
setenv JOBNAME `ps -p $procid | grep $procid | awk '{print $4}'`
setenv NWCHEM_ROOT `echo $JOBNAME | awk -F_ '{print $1}'`
setenv NWCHEM_SUFFIX `echo $JOBNAME | awk -F_ '{print $2}'`
mkdir $NWCHEM_SCRATCH/$procid
#
# Build the input file
#
# Triplet state
cat << finis > $JOBNAME.nw
title "ICN triplet dissociation"

start  $NWCHEM_ROOT
permanent_dir $cwd
scratch_dir $NWCHEM_SCRATCH/$procid
memory $NWCHEM_MEMORY
#print low
ecce_print $JOBNAME.ecce

charge 0

basis 
  C library "6-31++G**"
  N library "6-31++G**"
  I library "6-311G*"
  I library "6-311G* polarization"
end

dft
  xc b3lyp
  odft
  mult 3
  iterations 1000
  direct
  noio
end

driver
  gmax 0.00015
  grms 0.00010
  xmax 0.00060
  xrms 0.00040
end

python
  geometry = ''' 
    geometry nocenter noprint units angstrom
      zmatrix
         C
         N  C  dCN
         X  C  one   N  ninety 
         I  C  dIC   X  ninety   N  pi
      variables
        dCN   1.16496
      constants
        one     1.0
        ninety 90.0
        pi    180.0
        dIC   %f
      end 
    end
    '''
  x = 8.01208
  delt = 0.5
  while (x > 2.0):
    input_parse(geometry % x)
    (energy,grad) = task_optimize('dft')
    if (ga_nodeid()==0):
      print '@@ dIC,energy = (%9.5f,%10.6f)' % (x, energy)
    x = x - delt
    if (x < 4.1): 
      delt = 0.2
end

print none

task python
finis
#
#   Run the job
#
mpirun -np $NWCHEM_PROCS nwchem $JOBNAME.nw >& $JOBNAME.nwo
#
#   Clean up scratch directory
rm -rf $NWCHEM_SCRATCH/$procid
